package com.hjxr.quota.datasource.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hjxr.quota.datasource.domain.TablenameAlias;

import java.util.List;

/**
 * 数据表别名表服务接口
 *
 * @author sun
 * @version v2.0
 * @since 2020-08-16
 */
public interface TablenameAliasService  extends IService<TablenameAlias> {

    /**
     * 更新数据
     * @param tablenameAlias 数据表别名对象
     * @return int
     */
    int update(TablenameAlias tablenameAlias) ;

    /**
     * 根据数据源ID查询
     * @param datasourceId 数据源ID
     * @return list<entity>
     */
    List<TablenameAlias> selectByDatasourceId(Integer datasourceId);


    /**
     * 根据数据源ID查询
     * @param datasourceId 数据源ID
     * @return list<entity>
     */
    List<TablenameAlias> selectEnableByDatasourceId(Integer datasourceId);

    /**xxs
     * 批量添加TablenameAlias
     * @param tables: 表名集合
     * @param datasourceId: 数据源id
     * @param databaseNam: 数据源名称
     * @return int
     */
    int addTableAlias(List<String> tables, Integer datasourceId, String databaseNam);

    /**
     * 根据数据源ID和TABLENAME获取可用的tablenameAlias记录
     * @param tableName 表名
     * @param datasourceId 数据源ID
     * @return entity
     */
    TablenameAlias selectByTablename(String tableName, Integer datasourceId);

}
